23.4 Der Drucker als »PrinterSettings«-Objekt
 
Das PrinterSettings-Objekt enthält die Informationen darüber, welcher Drucker zum Ausdruck verwendet werden soll, und darüber hinaus auch noch die Informationen, wie das Dokument gedruckt werden soll.
Wie Sie im vorhergehenden Abschnitt erfahren haben, müssen Sie sich nicht die Referenz auf ein Objekt vom Typ PageSettings besorgen, indem Sie den Klassenkonstruktor aufrufen. Dasselbe gilt auch für PrinterSettings. Die Referenz auf den Drucker erhalten Sie:
|
über die Eigenschaft PrinterSettings des PrintDocument-Objekts |
|
über die PrinterSettings-Eigenschaft des PageSettings-Objekts |
23.4.1 Mehrere installierte Drucker
 
Auf einem Rechner können mehrere Drucker installiert sein. Die interne Klasse StringCollection, deren Referenz von der statischen Eigenschaft InstalledPrinters des PrinterSettings-Objekts bereitgestellt wird, liefert die Namen der installierten Drucker als string-Array zurück.
In einer foreach-Schleife können alle Drucker abgefragt werden:
| foreach(string printName in PrinterSettings.InstalledPrinters) {
|
| /* ... */
|
| }
|
Wenn die Anzahl der installierten Drucker interessiert, kann diese über Count der Auflistung ermittelt werden. Der Zugriff auf einen bestimmten Drucker in der Collection erfolgt über die Angabe seines Indizes. Die folgende Anweisung gibt beispielsweise den Namen des dritten Druckers in der Auflistung zurück:
| PrinterSettings.InstalledPrinters[2];
|
23.4.2 Wichtige Eigenschaften des »PrinterSettings«-Objekts
 
Wenn ein neuer Drucker installiert wird, muss bei der Installation ein Druckername zur Identifizierung angegeben werden. Diese Angabe wird in der Eigenschaft PrinterName gespeichert. Den Druckernamen können Sie auch neu zuweisen, der allerdings mit einem installierten Drucker übereinstimmen muss. Ob die Einstellung unter PrinterName sich in einem installierten Drucker wiederfindet, kann mit der Eigenschaft IsValid, die einen booleschen Wert liefert, überprüft werden.
PrinterName ist eine sehr wichtige Eigenschaft, denn sie gibt den Drucker an, der zum Ausdruck verwendet wird. Weisen Sie PrinterName den Namen eines anderen, gültigen Druckers aus der InstalledPrinters-Collection zu, werden sämtliche Eigenschaften des PrinterSettings-Objekts mit den zu diesem Drucker gehörenden Einstellungen belegt.
Soll ein Drucker zum Standarddrucker erklärt werden, muss die Eigenschaft IsDefaultPrinter=true gesetzt werden. Mit DefaultPageSettings werden die Standardseiteneinstellungen abgerufen.
| Hinweis Beachten Sie bitte, dass Druckoperationen immer auf zwei unterschiedlichen PageSettings-Objekten ausgeführt werden: Das erste liefert die Standardeinstellungen und gilt grundsätzlich für jede zu druckende Seite, mit dem zweiten können die Eigenschaften der zum Druck anstehenden Seite manipuliert werden. Daher liefert der folgende Ausdruck false:
pd.PrinterSettings.DefaultPageSettings == pd.DefaultPageSettings
pd ist hierbei eine Variable vom Typ PrintDocument.
|
Tabelle 23.7 Eigenschaften eines »PrinterSettings«-Objekts (Auszug)
| Eigenschaft
|
Beschreibung
|
| Copies
|
Legt die Anzahl der zu druckenden Exemplare des Dokuments fest oder ruft diese ab.
|
| DefaultPageSettings
|
Ruft die Standardseiteneinstellungen für diesen Drucker ab.
|
| FromPage
|
Ruft die Nummer der ersten zu druckenden Seite ab oder legt diese fest.
|
| InstalledPrinters
|
Ruft die Namen aller installierten Drucker ab.
|
| MaximumPage
|
Ruft den Maximalwert für FromPage oder für ToPage ab, der in einem PrintDialog ausgewählt werden kann, oder legt diesen fest.
|
| MinimumPage
|
Ruft den Maximalwert für FromPage oder für ToPage ab, der in einem PrintDialog ausgewählt werden kann, oder legt diesen fest.
|
| PrinterName
|
Ruft den Namen des zu verwendenden Druckers ab oder legt diesen fest.
|
| PrintRange
|
Ruft die Seitennummern ab, die entsprechend der Angabe des Benutzers gedruckt werden sollen, oder legt diese fest.
|
| ToPage
|
Ruft die Nummer der letzten zu druckenden Seite ab oder legt diese fest.
|
|